1. Field of the Invention
The present invention relates to reading data from flash memories, and more particularly, to a method of performing error correction, an associated memory apparatus and an associated controller.
2. Description of the Prior Art
Due to the continual development of flash memory, various types of memory apparatus (e.g. SD/MCC, CF, MS, or xD memory card) and portable multimedia playback devices having flash memory (e.g. MP3 players or portable media players) have been widely adopted in various applications. How to control access to the flash memory has therefore become an issue.
In the case of NAND flash memories, a first type is called single level cell (SLC) NAND flash, and the second is called multiple level cell (MLC) NAND flash. In the SLC flash memory technology, each transistor which serves as a single memory unit only has two charge values, which are respectively used to represent logic 0 and logic 1. In the MLC flash memory technology, storage capability of each transistor which serves as a single memory unit is utilized more compactly. The MLC flash memory is driven by higher voltage such that a single transistor is able to record information of multiple bits (e.g. 00, 01, 11, and 10) by voltages of different levels. Theoretically, the storage density of MLC flash memory is more than twice that of the SLC flash memory. This is beneficial to the industry as it may help overcome the bottleneck in development of flash memory technology.
Compared to the SLC flash memory, the MLC flash memory is cheaper and provides more storage capacity in a limited size, and has therefore become the mainstream memory apparatus on the market. Instability of the MLC flash memory, however, introduces some undesirable problems. Although the related art provides some solutions to these problems, they still fail to obtain a desirable balance between performance and usage of system resources, and inevitably introduce some side effects. Therefore, there is a need for an innovation method which can manage access to the flash memory, and takes account of both performance and usage of system resources.